Mixed case identifier support#24551
Merged
agrawalreetika merged 5 commits intoprestodb:masterfrom Jun 9, 2025
Merged
Conversation
6f127fc to
e2f23fd
Compare
1ad263b to
bcb3a7c
Compare
0e0c8be to
8e65855
Compare
8f48ca4 to
63944ed
Compare
Contributor
|
@ethanyzhang imported this issue into IBM GitHub Enterprise |
b0a5dd9 to
76cb96e
Compare
Contributor
|
@ethanyzhang imported this issue into IBM GitHub Enterprise |
76cb96e to
30d669e
Compare
hantangwangd
requested changes
May 2, 2025
Member
hantangwangd
left a comment
There was a problem hiding this comment.
Change overall looks good to me, only some little things and nits.
hantangwangd
reviewed
May 5, 2025
aaneja
requested changes
May 6, 2025
steveburnett
previously approved these changes
May 6, 2025
Contributor
steveburnett
left a comment
There was a problem hiding this comment.
LGTM! (docs)
Pull updated branch, new local doc build, looks good. Thanks!
6 tasks
hantangwangd
previously approved these changes
May 8, 2025
Member
hantangwangd
left a comment
There was a problem hiding this comment.
Thanks for the whole work, looks good to me!
aaneja
reviewed
May 9, 2025
aaneja
previously approved these changes
May 9, 2025
ZacBlanco
reviewed
May 9, 2025
Contributor
ZacBlanco
left a comment
There was a problem hiding this comment.
The code looks good for the most part. Just want to make sure our tests are comprehensive
ScrapCodes
previously approved these changes
May 18, 2025
ZacBlanco
reviewed
May 21, 2025
ZacBlanco
previously approved these changes
May 28, 2025
Contributor
ZacBlanco
left a comment
There was a problem hiding this comment.
LGTM, thanks for this big effort! I have one remaining request about the warnings, otherwise I am happy with this.
ZacBlanco
reviewed
May 29, 2025
ZacBlanco
previously approved these changes
Jun 2, 2025
hantangwangd
previously approved these changes
Jun 2, 2025
ZacBlanco
approved these changes
Jun 9, 2025
hantangwangd
approved these changes
Jun 9, 2025
6 tasks
6 tasks
This was referenced Jul 4, 2025
This was referenced Jul 24, 2025
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Improves identifier handling (schema, table) to align with SQL standards for better compatibility with case-sensitive and case-normalizing databases, while minimizing SPI-breaking changes.
Motivation and Context
RFC details - prestodb/rfcs#36
This PR focuses on generalizing schema and table name handling to better align with SQL standards. As per the current API behavior, identifiers are lowercased by default unless explicitly handled (RFC reference).
Column name support and related changes will be addressed in a follow-up PR. Currently, column names are lowercased at the SPI level (ColumnMetadata.java#L45). Removing this generic lowercase conversion will require updates to normalize column names via the metadata API in each connector.
Impact
Improves identifier handling (schema, table) to align with SQL standards for better compatibility with case-sensitive and case-normalizing databases, while minimizing SPI-breaking changes.
Here is how Analysis Time on local Mac with 8GB JVM for

EXPLAINTPCH Queries, tpch-sf100 with (master) and with the PR changes -Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.